home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / ctlmod / cm_reset.c < prev    next >
Encoding:
C/C++ Source or Header  |  1985-01-23  |  777 b   |  44 lines

  1. # include    "ctlmod.h"
  2. # include    <sccs.h>
  3.  
  4. SCCSID(@(#)cm_reset.c    8.1    12/31/84)
  5.  
  6. /*
  7. **  CM_RESET -- reset control module
  8. **
  9. **    Called on a RESET block, this routine should reset the
  10. **    state to something well known.  Useful for debugging.
  11. **
  12. **    Parameters:
  13. **        none
  14. **
  15. **    Returns:
  16. **        never -- non-locally to top of CM loop.
  17. **
  18. **    Side Effects:
  19. **        'Syncs' is cleared.
  20. **        'Qbuf' is reset.
  21. **        'Cm.cm_input' is set to the default input.
  22. **        All extra files are closed.
  23. **
  24. **    Trace Flags:
  25. **        none
  26. */
  27.  
  28. cm_reset()
  29. {
  30.     register int    i;
  31.     extern jmp_buf    CmReset;
  32.     extern long    CmOfiles;
  33.  
  34.     /* clear all Syncs */
  35.     for (i = 0; i < CM_MAXPROC; i++)
  36.         Syncs[i] = 0;
  37.  
  38.     /* close and report all extraneous files */
  39.     closeall(TRUE, CmOfiles);
  40.  
  41.     /* return to top of loop */
  42.     longjmp(CmReset, 3);
  43. }
  44.